Skip to main content

Setting up a DHCP server

To set up a DHCP server on a Linux server, you can use the "isc-dhcp-server" package. Here are the steps to install and configure it:

  1. Install DHCP Server: First, open a terminal on your server and update the package list:

    sudo apt update

    Then, install the DHCP server package:

    sudo apt install isc-dhcp-server
  2. Configure DHCP Server: After the installation is complete, you need to configure the DHCP server. The main configuration file for the DHCP server is /etc/dhcp/dhcpd.conf. You can edit this file using your preferred text editor, such as nano or vim:

    sudo nano /etc/dhcp/dhcpd.conf

    In this configuration file, you'll specify your DHCP settings. Here's a basic example to get you started:

    subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option routers 192.168.1.1;
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    }
    • subnet: Define the IP address range you want to allocate to clients.
    • range: Specify the range of IP addresses that DHCP will assign to clients.
    • option routers: Set the default gateway (router) for clients.
    • option domain-name-servers: Set the DNS servers for clients.

    Customize these settings according to your network requirements.

  3. Specify Network Interface: You also need to specify the network interface that the DHCP server will listen on. Open the /etc/default/isc-dhcp-server file:

    sudo nano /etc/default/isc-dhcp-server

    Find the line that says INTERFACES="" and add the name of the network interface you want to use. For example, if you want to use "eth0", modify the line to:

    INTERFACES="eth0"
  4. Start and Enable the DHCP Server: Start the DHCP server service and enable it to start at boot:

    sudo systemctl start isc-dhcp-server
    sudo systemctl enable isc-dhcp-server
  5. Check DHCP Server Status: To ensure that the DHCP server is running without errors, you can check its status:

    sudo systemctl status isc-dhcp-server

    It should indicate that the service is active and running.

  6. Configure Firewall: If you have a firewall enabled on your server, you need to allow DHCP traffic. For example, if you're using UFW, you can allow DHCP traffic with the following commands:

    sudo ufw allow in on eth0 from any port 67 to any port 68 proto udp
    sudo ufw allow in on eth0 from any port 68 to any port 67 proto udp

    Replace "eth0" with the name of your network interface.